

#ifndef __COMM_TOPIC_NAME_H__
#define __COMM_TOPIC_NAME_H__

#define TOPIC_NAME_DSP_SERIAL_PASS_DATA                         "/dsp_serial_pass_data"
#define TOPIC_NAME_MMIS_SERIAL_PASS_DATA                        "/mmis_serial_pass_data"

#define TOPIC_NAME_WHEEL_SPEED                                  "/wheel_speed"

#define TOPIC_NAME_VISION_CAR_PED_POINTS                        "/vision_car_ped_points"
#define TOPIC_NAME_VISION_LANE_POINTS                           "/vision_lane_points"
#define TOPIC_NAME_VISION_TRAFFIC_LIGHT_DETECT                  "/vision_traffic_light_status"
#define TOPIC_NAME_VISION_TRAFFIC_LIGHT_REGION                  "/vision_traffic_light_region"

#define TOPIC_NAME_VISION_CAR_PED_IMAGE                         "/vision_car_ped_image"
#define TOPIC_NAME_VISION_LANE_IMAGE                            "/vision_lane_image"
#define TOPIC_NAME_VISION_TRAFFIC_LIGHT_IMAGE                   "/vision_traffic_light_image"

#define TOPIC_NAME_VISION_PCLOUD_SRC                            "/vision_point_cloud_src"
#define TOPIC_NAME_VISION_PCLOUD_TRANS                          "/vision_point_cloud_trans"
#define TOPIC_NAME_VISION_PCLOUD_OBST                           "/vision_point_cloud_obst"

#define TOPIC_NAME_VISION_SELECT_DEPTH_CAMERA                   "/vision_select_depth_camera"
#define TOPIC_NAME_VISION_STATE                                 "/vision_state"
#define TOPIC_NAME_VISION_TASK                                  "/vision_task"

#define TOPIC_NAME_HEAD_LEFT_RSBPEARL_LIDAR_AREA_FILTER         "/pcpt/HeadLeftRsBpLidar/reflect_region"
#define TOPIC_NAME_HEAD_RIGHT_RSBPEARL_LIDAR_AREA_FILTER        "/pcpt/HeadRightRsBpLidar/reflect_region"

#define TOPIC_NAME_EMERGENCE_REFLECT_INVALID_POINTS             "/pcpt/lidar_emergence_reflect_invalid_points"

#define TOPIC_NAME_RS_LIDAR_FUSED_DATA_NO_GROUND                "/pcpt/lidar_fused_points_no_ground"

#define TOPIC_NAME_FUSED_UNDERGROUND_2D_POINTS                  "/pcpt/fused_underground_2d_points"
#define TOPIC_NAME_FUSED_UNDERGROUND_3D_POINTS                  "/pcpt/fused_underground_3d_points"
#define TOPIC_NAME_FUSED_UNDERGROUND_VALID_2D_POINTS            "/pcpt/fused_underground_valid_2d_points"

#define TOPIC_NAME_FUSED_GENERAL_HEIGHT_2D_POINTS               "/pcpt/fused_general_height_2d_points"
#define TOPIC_NAME_FUSED_GENERAL_HEIGHT_3D_POINTS               "/pcpt/fused_general_height_3d_points"

#define TOPIC_NAME_FUSED_DANGER_HEIGHT_2D_POINTS                "/pcpt/fused_danger_height_2d_points"

#define TOPIC_NAME_FUSED_SHORT_OBST_2D_POINTS                   "/pcpt/fused_short_obst_2d_points"

#define TOPIC_NAME_FUSED_GROUND_3D_POINTS                       "/pcpt/fused_ground_3d_points"
#define TOPIC_NAME_FUSED_GROUND_3D_POINTS_FITSURFACE            "/pcpt/fused_ground_3d_points_Fit_surface"
#define TOPIC_NAME_FUSED_IMPASSABLE_AREA_2D_POINTS              "/pcpt/fused_impassable_area_2d_points"

#define TOPIC_NAME_FUSED_UNDERGROUND_AREA_3D_POINTS             "/pcpt/fused_underground_area_3d_points"
#define TOPIC_NAME_FUSED_UNDERGROUND_AREA_FEATURE_3D_POINTS     "/pcpt/fused_underground_area_feature_3d_points"
#define TOPIC_NAME_FUSED_UNDERGROUND_AREA_2D_POINTS             "/pcpt/fused_underground_area_2d_points"

#define TOPIC_NAME_FUSED_LIDAR_SMALL_OBST_DET_3D_POINTS         "/pcpt/fused_lidar_small_obst_det_3D_points"

#define TOPIC_NAME_FUSED_STATIC_OBST                            "/pcpt/fused_static_obst"
#define TOPIC_NAME_FUSED_STATIC_2D_POINTS_BY_MAP                "/pcpt/fused_static_2d_point_by_map"
#define TOPIC_NAME_FUSED_STATIC_2D_POINTS_BY_CAR                "/pcpt/fused_static_2d_point_by_car"

#define TOPIC_NAME_FUSED_MOV_TARGETS                            "/pcpt/fused_mov_target"

#define TOPIC_NAME_SENSOR_FAULT_STATE                           "/pcpt/sensor_fault_state"

#define TOPIC_NAME_MARKER_RADAR_CLUSTER                         "/pcpt/marker_radar_cluster"
#define TOPIC_NAME_MARKER_PCD_CLUSTER                           "/pcpt/marker_pcd_cluster"
#define TOPIC_NAME_MARKER_PCD_BOX_PRED                          "/pcpt/marker_pcd_box_prediction"
#define TOPIC_NAME_MARKER_TARGETS_TRACK_PRED                    "/pcpt/marker_tragers_track_prediction"

#define TOPIC_NAME_MARKER_DUSTBIN                               "/pcpt/marker_dustbin"

#define TOPIC_NAME_PCD_CLUSTER_MARKER_BOXES                     "/pcpt/pcd_cluster_marker_boxes"
#define TOPIC_NAME_PCD_CLUSTER_BOUNDING_BOXES                   "/pcpt/pcd_cluster_bounding_boxes"

#define TOPIC_NAME_LOCATION_INFO                                "/location_info"
#define TOPIC_NAME_SIMULATION_LOCATION_INFO                     "/simulation_location_info"
#define TOPIC_NAME_LOC_GNSS_POSE                                "/gnss_pose"
#define TOPIC_NAME_QRCODE_POSE                                  "/qrcode_pose"

#define TOPIC_NAME_SHOW_PC_PATH                                 "/move_base/NavfnROS/plan"
#define TOPIC_NAME_SHOW_WORK_PATH                               "show/work_path"
#define TOPIC_NAME_SHOW_HISTORY_TRJ                             "/car_history_trj"

#define TOPIC_NAME_SHOW_PC_MAP                                  "map"

#define TOPIC_NAME_TASK_CTRL                                    "/task_ctrl"
#define TOPIC_NAME_NAV_STATE                                    "/nav_state"
#define TOPIC_NAME_MOVE_CTRL                                    "/move_ctrl"
#define TOPIC_NAME_NAV_INFO                                     "/nav_info"
#define TOPIC_NAME_MOVE_INFO                                    "/move_info"
#define TOPIC_NAME_DCU_INFO                                     "/dcu_info"
#define TOPIC_NAME_DEV_INFO                                     "/dev_info"
#define TOPIC_NAME_EQUIPMENT_INFO                               "/equipment_info"
#define TOPIC_NAME_TRASH_BOX_OBST_STATE                         "/trash_box_obst_state"

#define TOPIC_NAME_RADAR_LEFT_OBST                              "/radar/left_radar_obst"
#define TOPIC_NAME_RADAR_FRONT_OBST                             "/radar/front_radar_obst"
#define TOPIC_NAME_RADAR_RIGHT_OBST                             "/radar/right_radar_obst"
#define TOPIC_NAME_RADAR_BACK_OBST                              "/radar/back_radar_obst"

#define TOPIC_NAME_RADAR_LEFT_MARKER                            "/radar/left_radar_marker"
#define TOPIC_NAME_RADAR_FRONT_MARKER                           "/radar/front_radar_marker"
#define TOPIC_NAME_RADAR_RIGHT_MARKER                           "/radar/right_radar_marker"
#define TOPIC_NAME_RADAR_BACK_MARKER                            "/radar/back_radar_marker"

#define TOPIC_NAME_RADAR_LEFT_MARKER_SRC                        "/radar/left_radar_marker_src"
#define TOPIC_NAME_RADAR_FRONT_MARKER_SRC                       "/radar/front_radar_marker_src"
#define TOPIC_NAME_RADAR_RIGHT_MARKER_SRC                       "/radar/right_radar_marker_src"
#define TOPIC_NAME_RADAR_BACK_MARKER_SRC                        "/radar/back_radar_marker_src"

#define TOPIC_NAME_SHOW_SIMULATION_ENV_MAP                      "show/simulation/env_map"
#define TOPIC_NAME_SHOW_SIMULATION_TOOL_OBSTS                   "show/simulation/tool_obsts"

#define TOPIC_NAME_SHOW_ROAD_NETWORK                            "show/global_plan/road_network"
#define TOPIC_NAME_SHOW_TASK_LANE                               "show/global_plan/task_lane"
#define TOPIC_NAME_SHOW_TASK_LANE_TEST_PROGRESS                 "show/global_plan/task_lane_test_grogress"

#define TOPIC_NAME_SHOW_CAR_PROJECT_ROUTE                       "show/loc_plan/car_project_route"
#define TOPIC_NANE_SHOW_LEFT_ROUTE                              "show/loc_plan/left_route"
#define TOPIC_NAME_SHOW_LANE_ROUTE_LINE_MATCH                   "show/loc_plan/lane_route_line_match"
#define TOPIC_NAME_SHOW_REGION_MAP                              "show/loc_plan/region_map"

#define TOPIC_NAME_SHOW_LOC_PLAN_CE_OBST_MAP                    "show/loc_plan/close_edge/obst_map"
#define TOPIC_NAME_SHOW_LOC_PLAN_CE_CAR_SHAPE                   "show/loc_plan/close_edge/car_shape"
#define TOPIC_NAME_SHOW_LOC_PLAN_CE_START_POSE                  "show/loc_plan/close_edge/start_pose"
#define TOPIC_NAME_SHOW_LOC_PLAN_CE_ORIGIN_ROUTE                "show/loc_plan/close_edge/origin_route"
#define TOPIC_NAME_SHOW_LOC_PLAN_CE_DEFAULT_ROUTE               "show/loc_plan/close_edge/default_route"
#define TOPIC_NAME_SHOW_LOC_PLAN_CE_PLAN_ROUTE                  "show/loc_plan/close_edge/plan_route"
#define TOPIC_NAME_SHOW_LOC_PLAN_CE_OUT_POINT                   "show/loc_plan/close_edge/out_point"
#define TOPIC_NAME_SHOW_LOC_PLAN_CE_READY_OUT_AREA              "show/loc_plan/close_edge/ready_out_area"
#define TOPIC_NAME_SHOW_LOC_PLAN_CE_SIDE_AREA                   "show/loc_plan/close_edge/side_area"

#define TOPIC_NAME_SHOW_LOC_PLAN_ST_OBST_MAP                    "show/loc_plan/sw_trj/obst_map"
#define TOPIC_NAME_SHOW_LOC_PLAN_ST_CAR_SHAPE                   "show/loc_plan/sw_trj/car_shape"
#define TOPIC_NAME_SHOW_LOC_PLAN_ST_START_POSE                  "show/loc_plan/sw_trj/start_pose"
#define TOPIC_NAME_SHOW_LOC_PLAN_ST_ORIGIN_ROUTE                "show/loc_plan/sw_trj/origin_route"
#define TOPIC_NAME_SHOW_LOC_PLAN_ST_DEFAULT_ROUTE               "show/loc_plan/sw_trj/default_route"
#define TOPIC_NAME_SHOW_LOC_PLAN_ST_PLAN_ROUTE                  "show/loc_plan/sw_trj/plan_route"

#define TOPIC_NAME_SHOW_CTRL_PLAN_OBST_MAP                      "show/ctrl_plan/obst_map"
#define TOPIC_NAME_SHOW_CTRL_PLAN_REF_ROUTE                     "show/ctrl_plan/ref_route"
#define TOPIC_NAME_SHOW_CTRL_PLAN_CAR_SHAPE                     "show/ctrl_plan/car_shape"
#define TOPIC_NAME_SHOW_CTRL_PLAN_START_POSE                    "show/ctrl_plan/start_pose"
#define TOPIC_NAME_SHOW_CTRL_PLAN_CTRL_INFO                     "show/ctrl_plan/ctrl_info"
#define TOPIC_NAME_SHOW_VEL_PLAN_MOVE_ROUTE                     "show/vel_plan/move_route"
#define TOPIC_NAME_SHOW_VEL_PLAN_OBST_DIST                      "show/vel_plan/obst_dist_list"
#define TOPIC_NAME_SHOW_VEL_PLAN_VEL_LIST                       "show/vel_plan/vel_list"

#define TOPIC_NAME_SIMULATION_ADD_OBST                          "/clicked_point"

#define TOPIC_NAME_CAR_BODY_FILTER                              "/car_body_filter"

#define TOPIC_NAME_REFERENCE_ROUTE                              "/ref_route"

#define TOPIC_NAME_MAP_POINTS                                   "/map_points"
#define TOPIC_NAME_LOC_POINTS                                   "/loc_points"
#define TOPIC_NAME_ALIGNED_POINTS                               "/aligned_points"

#endif

